//78
class Solution {
    public ListListInteger subsets(int[] nums) {
        int len = nums.length;
        ListListInteger ret = new ArrayListListInteger();
        
        ret.add(new ArrayListInteger());
        for (int i = 0; i  len; i++) {
            ListInteger tmp = new ArrayListInteger();
            tmp.add(nums[i]);
            ret.add(tmp);
        }
        if (len == 1) {
            return ret;
        }
        for (int i = 2; i = len; i++) {
            fun(nums, ret, i, new ArrayListInteger(), 0);
        }
        return ret;
    }

    public void fun(int[] nums, ListListInteger ret, int len, ListInteger tmp, int i) {
        if (tmp.size() == len) {
            ListInteger list = new ArrayList();
            list.addAll(tmp);
            ret.add(list);
            return;
        }
        for (; i  nums.length; i++) {
            tmp.add(nums[i]);
            fun(nums, ret, len, tmp, i+1);
            tmp.remove(tmp.size()-1);
        }
    }
}
描述
在不使用第三个变量的情况下交换两个int类型变量的值
输入描述：
a变量和b变量的值
输出描述：
交换后a变量和b变量的值，中间用空格隔开


import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);

        int a = in.nextInt();
        int b = in.nextInt();

        a = a ^ b;
        b = a ^ b;
        a = a ^ b;

        System.out.println(a + " " + b);
    }
}